<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPHinXsys: SPHINXsys/src/for_3D_build/particle_generator/particle_generator_network.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SPHinXsys
   &#160;<span id="projectnumber">alpha version</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_3dc1dabd28ba78e072d14d3fcfc90454.html">SPHINXsys</a></li><li class="navelem"><a class="el" href="dir_48ea983704c43b6d88c1fa3f4d09e369.html">src</a></li><li class="navelem"><a class="el" href="dir_836a4ac91a086ae3266ddeefe87700e6.html">for_3D_build</a></li><li class="navelem"><a class="el" href="dir_fae19f187a5ca17a883a6854546c35fa.html">particle_generator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">particle_generator_network.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="particle__generator__network_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* -------------------------------------------------------------------------*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *                              SPHinXsys                                   *</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * --------------------------------------------------------------------------*</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * SPHinXsys (pronunciation: s&#39;finksis) is an acronym from Smoothed Particle    *</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * Hydrodynamics for industrial compleX systems. It provides C++ APIs for   *</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * physical accurate simulation and aims to model coupled industrial dynamic *</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * systems including fluid, solid, multi-body dynamics and beyond with SPH  *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * (smoothed particle hydrodynamics), a meshless computational method using *</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * particle discretization.                                                 *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *                                                                          *</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * SPHinXsys is partially funded by German Research Foundation              *</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * (Deutsche Forschungsgemeinschaft) DFG HU1527/6-1, HU1527/10-1                *</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * and HU1527/12-1.                                                         *</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *                                                                           *</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * Portions copyright (c) 2017-2020 Technical University of Munich and      *</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * the authors&#39; affiliations.                                               *</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *                                                                           *</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may   *</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * not use this file except in compliance with the License. You may obtain a *</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * copy of the License at http://www.apache.org/licenses/LICENSE-2.0.        *</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *                                                                           *</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> * --------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifndef PARTICLE_GENERATOR_NETWORK_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define PARTICLE_GENERATOR_NETWORK_H</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="sph__data__containers_8h.html">sph_data_containers.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="base__particle__generator_8h.html">base_particle_generator.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="complex__body_8h.html">complex_body.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_s_p_h.html">SPH</a></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html">   43</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_s_p_h_1_1_particle_generator_network.html">ParticleGeneratorNetwork</a> : <span class="keyword">public</span> <a class="code" href="class_s_p_h_1_1_particle_generator.html">ParticleGenerator</a></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    {</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <a class="code" href="class_s_p_h_1_1_particle_generator_network.html">ParticleGeneratorNetwork</a>(<a class="code" href="class_s_p_h_1_1_s_p_h_body.html">SPHBody</a> &amp;sph_body, <span class="keyword">const</span> Vecd &amp;starting_pnt, <span class="keyword">const</span> Vecd &amp;second_pnt, <span class="keywordtype">int</span> iterator, Real grad_factor);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">virtual</span> ~<a class="code" href="class_s_p_h_1_1_particle_generator_network.html">ParticleGeneratorNetwork</a>(){};</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#adec5541193d38f6dd71cc056494c1d1c">initializeGeometricVariables</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#a2baf4f916c54a4015e52084cd7b864c6">   53</a></span>&#160;        Vecd <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#a2baf4f916c54a4015e52084cd7b864c6">starting_pnt_</a>;                                 </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#a03ee576607b45f554338b90a415388d3">   54</a></span>&#160;        Vecd <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#a03ee576607b45f554338b90a415388d3">second_pnt_</a>;                                   </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#a949b00f7ef44cedd0bdc80e36a36a5b8">   55</a></span>&#160;        <span class="keywordtype">size_t</span> <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#a949b00f7ef44cedd0bdc80e36a36a5b8">n_it_</a>;                                       </div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#a9ff936b6fe133c56416238ee4c131488">   56</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#a9ff936b6fe133c56416238ee4c131488">fascicles_</a>;                                    </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#ae13adb2427da03baf83c862af482eb01">   57</a></span>&#160;        <span class="keywordtype">size_t</span> <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#ae13adb2427da03baf83c862af482eb01">segments_in_branch_</a>;                         </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#a30d32321b47f8e9e0a541e12134ead95">   58</a></span>&#160;        Real <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#a30d32321b47f8e9e0a541e12134ead95">segment_length_</a>;                               </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#a199b14ba9b67bef02dd5318215f7561a">   59</a></span>&#160;        Real <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#a199b14ba9b67bef02dd5318215f7561a">angle_</a> = 0.3;                                  </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#afdf4f9d726d687716ecae8649cb9d263">   60</a></span>&#160;        Real <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#afdf4f9d726d687716ecae8649cb9d263">repulsivity_</a> = 0.175;                          </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#aa6b78ff20f9e439a64ec72b24dd8860f">   61</a></span>&#160;        Real <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#aa6b78ff20f9e439a64ec72b24dd8860f">grad_factor_</a>;                                  </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#aa04b0a56e1a0a88c6f5564558cfdbd88">   62</a></span>&#160;        std::vector&lt;Real&gt; <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#aa04b0a56e1a0a88c6f5564558cfdbd88">fascicle_angles_</a> = {-1.25, 0.75}; </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#adccfb8168e90b99a196bb1f00389b258">   63</a></span>&#160;        Real <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#adccfb8168e90b99a196bb1f00389b258">fascicle_ratio_</a> = 15.0;                        </div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <a class="code" href="class_s_p_h_1_1_s_p_h_body.html">SPHBody</a> &amp;sph_body_;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <a class="code" href="class_s_p_h_1_1_shape.html">Shape</a> &amp;body_shape_;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        <a class="code" href="class_s_p_h_1_1_base_cell_linked_list.html">BaseCellLinkedList</a> *cell_linked_list_;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <a class="code" href="class_s_p_h_1_1_tree_body.html">TreeBody</a> *tree_;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        Vecd <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#a867b210913499ae95bb6794c4d85890a">getGradientFromNearestPoints</a>(Vecd pt, Real delta);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#aeb8b481f1e7e58d48c9f7ff9daaf55ae">createABranchIfValid</a>(<span class="keywordtype">size_t</span> parent_id, Real angle, Real repulsivity, <span class="keywordtype">size_t</span> number_segments);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        Vecd <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#a28429046c1c6e7d74e4a44fdf1ff8fb0">createATentativeNewBranchPoint</a>(Vecd init_point, Vecd dir);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#aed64feca3c15abe78c8f5017aa79e3a8">isCollision</a>(<span class="keyword">const</span> Vecd &amp;new_point, <span class="keyword">const</span> <a class="code" href="namespace_s_p_h.html#a7fbc15167459a37683f40cb4a5aa0f06">ListData</a> &amp;nearest_neighbor, <span class="keywordtype">size_t</span> parent_id);</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="class_s_p_h_1_1_particle_generator_network.html#aa19a29e391dcb4eef64a55585c43bcfc">  102</a></span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_s_p_h_1_1_particle_generator_network.html#aa19a29e391dcb4eef64a55585c43bcfc">extraCheck</a>(<span class="keyword">const</span> Vecd &amp;new_point) { <span class="keywordflow">return</span> <span class="keyword">false</span>; };</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keywordtype">void</span> growAParticleOnBranch(<a class="code" href="class_s_p_h_1_1_tree_body_1_1_branch.html">TreeBody::Branch</a> *branch, <span class="keyword">const</span> Vecd &amp;new_point, <span class="keyword">const</span> Vecd &amp;end_direction);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    };</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#endif // PARTICLE_GENERATOR_NETWORK_H</span></div><div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_aeb8b481f1e7e58d48c9f7ff9daaf55ae"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#aeb8b481f1e7e58d48c9f7ff9daaf55ae">SPH::ParticleGeneratorNetwork::createABranchIfValid</a></div><div class="ttdeci">bool createABranchIfValid(size_t parent_id, Real angle, Real repulsivity, size_t number_segments)</div><div class="ttdoc">Create a new branch if it is valid. </div><div class="ttdef"><b>Definition:</b> particle_generator_network.cpp:100</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_aa6b78ff20f9e439a64ec72b24dd8860f"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#aa6b78ff20f9e439a64ec72b24dd8860f">SPH::ParticleGeneratorNetwork::grad_factor_</a></div><div class="ttdeci">Real grad_factor_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:61</div></div>
<div class="ttc" id="class_s_p_h_1_1_shape_html"><div class="ttname"><a href="class_s_p_h_1_1_shape.html">SPH::Shape</a></div><div class="ttdoc">Base class for all volumetric geometries Note that checkContain and findClosest point are basic funct...</div><div class="ttdef"><b>Definition:</b> base_geometry.h:64</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_a28429046c1c6e7d74e4a44fdf1ff8fb0"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#a28429046c1c6e7d74e4a44fdf1ff8fb0">SPH::ParticleGeneratorNetwork::createATentativeNewBranchPoint</a></div><div class="ttdeci">Vecd createATentativeNewBranchPoint(Vecd init_point, Vecd dir)</div><div class="ttdoc">Functions that creates a new node in the mesh surface and it to the queue is it lies in the surface...</div><div class="ttdef"><b>Definition:</b> particle_generator_network.cpp:59</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_aa19a29e391dcb4eef64a55585c43bcfc"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#aa19a29e391dcb4eef64a55585c43bcfc">SPH::ParticleGeneratorNetwork::extraCheck</a></div><div class="ttdeci">virtual bool extraCheck(const Vecd &amp;new_point)</div><div class="ttdoc">Check if the new point is valid according to extra constraint. </div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:102</div></div>
<div class="ttc" id="class_s_p_h_1_1_base_cell_linked_list_html"><div class="ttname"><a href="class_s_p_h_1_1_base_cell_linked_list.html">SPH::BaseCellLinkedList</a></div><div class="ttdoc">Abstract class for mesh cell linked list. </div><div class="ttdef"><b>Definition:</b> cell_linked_list.h:69</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_afdf4f9d726d687716ecae8649cb9d263"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#afdf4f9d726d687716ecae8649cb9d263">SPH::ParticleGeneratorNetwork::repulsivity_</a></div><div class="ttdeci">Real repulsivity_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:60</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_a03ee576607b45f554338b90a415388d3"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#a03ee576607b45f554338b90a415388d3">SPH::ParticleGeneratorNetwork::second_pnt_</a></div><div class="ttdeci">Vecd second_pnt_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:54</div></div>
<div class="ttc" id="namespace_s_p_h_html_a7fbc15167459a37683f40cb4a5aa0f06"><div class="ttname"><a href="namespace_s_p_h.html#a7fbc15167459a37683f40cb4a5aa0f06">SPH::ListData</a></div><div class="ttdeci">std::pair&lt; size_t, Vecd &gt; ListData</div><div class="ttdef"><b>Definition:</b> sph_data_containers.h:42</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_adec5541193d38f6dd71cc056494c1d1c"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#adec5541193d38f6dd71cc056494c1d1c">SPH::ParticleGeneratorNetwork::initializeGeometricVariables</a></div><div class="ttdeci">virtual void initializeGeometricVariables() override</div><div class="ttdef"><b>Definition:</b> particle_generator_network.cpp:164</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_a30d32321b47f8e9e0a541e12134ead95"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#a30d32321b47f8e9e0a541e12134ead95">SPH::ParticleGeneratorNetwork::segment_length_</a></div><div class="ttdeci">Real segment_length_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:58</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_a199b14ba9b67bef02dd5318215f7561a"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#a199b14ba9b67bef02dd5318215f7561a">SPH::ParticleGeneratorNetwork::angle_</a></div><div class="ttdeci">Real angle_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:59</div></div>
<div class="ttc" id="class_s_p_h_1_1_tree_body_html"><div class="ttname"><a href="class_s_p_h_1_1_tree_body.html">SPH::TreeBody</a></div><div class="ttdoc">The tree is composed of a root (the first branch) and other branch generated sequentially. </div><div class="ttdef"><b>Definition:</b> complex_body.h:61</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_ae13adb2427da03baf83c862af482eb01"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#ae13adb2427da03baf83c862af482eb01">SPH::ParticleGeneratorNetwork::segments_in_branch_</a></div><div class="ttdeci">size_t segments_in_branch_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:57</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_a2baf4f916c54a4015e52084cd7b864c6"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#a2baf4f916c54a4015e52084cd7b864c6">SPH::ParticleGeneratorNetwork::starting_pnt_</a></div><div class="ttdeci">Vecd starting_pnt_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:53</div></div>
<div class="ttc" id="class_s_p_h_1_1_tree_body_1_1_branch_html"><div class="ttname"><a href="class_s_p_h_1_1_tree_body_1_1_branch.html">SPH::TreeBody::Branch</a></div><div class="ttdoc">Each branch (except the root) has a parent and several children, and geometric information. It is a realized edge and has multi inner particles. The first is the last particle from the parent or root, and the last is the first particle of all its child branches. Many connected branches compose a tree. </div><div class="ttdef"><b>Definition:</b> complex_body.h:96</div></div>
<div class="ttc" id="base__particle__generator_8h_html"><div class="ttname"><a href="base__particle__generator_8h.html">base_particle_generator.h</a></div><div class="ttdoc">This is the base class of particle generator, which generates particles with given positions and volu...</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_a867b210913499ae95bb6794c4d85890a"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#a867b210913499ae95bb6794c4d85890a">SPH::ParticleGeneratorNetwork::getGradientFromNearestPoints</a></div><div class="ttdeci">Vecd getGradientFromNearestPoints(Vecd pt, Real delta)</div><div class="ttdoc">Get the gradient from nearest points, for imposing repulsive force. </div><div class="ttdef"><b>Definition:</b> particle_generator_network.cpp:41</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_aed64feca3c15abe78c8f5017aa79e3a8"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#aed64feca3c15abe78c8f5017aa79e3a8">SPH::ParticleGeneratorNetwork::isCollision</a></div><div class="ttdeci">bool isCollision(const Vecd &amp;new_point, const ListData &amp;nearest_neighbor, size_t parent_id)</div><div class="ttdoc">Check if the new point has collision with the existing points. </div><div class="ttdef"><b>Definition:</b> particle_generator_network.cpp:71</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html">SPH::ParticleGeneratorNetwork</a></div><div class="ttdoc">Generate a tree-shape network for the conduction system of a heart with particles. </div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:43</div></div>
<div class="ttc" id="complex__body_8h_html"><div class="ttname"><a href="complex__body_8h.html">complex_body.h</a></div><div class="ttdoc">A complex body is characterized with a secondary structure, which can be imported externally or creat...</div></div>
<div class="ttc" id="sph__data__containers_8h_html"><div class="ttname"><a href="sph__data__containers_8h.html">sph_data_containers.h</a></div><div class="ttdoc">Set up of basic data structure. </div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_a949b00f7ef44cedd0bdc80e36a36a5b8"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#a949b00f7ef44cedd0bdc80e36a36a5b8">SPH::ParticleGeneratorNetwork::n_it_</a></div><div class="ttdeci">size_t n_it_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:55</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_aa04b0a56e1a0a88c6f5564558cfdbd88"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#aa04b0a56e1a0a88c6f5564558cfdbd88">SPH::ParticleGeneratorNetwork::fascicle_angles_</a></div><div class="ttdeci">std::vector&lt; Real &gt; fascicle_angles_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:62</div></div>
<div class="ttc" id="class_s_p_h_1_1_s_p_h_body_html"><div class="ttname"><a href="class_s_p_h_1_1_s_p_h_body.html">SPH::SPHBody</a></div><div class="ttdoc">SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...</div><div class="ttdef"><b>Definition:</b> base_body.h:61</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_html"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator.html">SPH::ParticleGenerator</a></div><div class="ttdoc">Generate volumetric particles by initialize position and volume. </div><div class="ttdef"><b>Definition:</b> base_particle_generator.h:68</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_adccfb8168e90b99a196bb1f00389b258"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#adccfb8168e90b99a196bb1f00389b258">SPH::ParticleGeneratorNetwork::fascicle_ratio_</a></div><div class="ttdeci">Real fascicle_ratio_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:63</div></div>
<div class="ttc" id="namespace_s_p_h_html"><div class="ttname"><a href="namespace_s_p_h.html">SPH</a></div><div class="ttdef"><b>Definition:</b> solid_body_supplementary.cpp:9</div></div>
<div class="ttc" id="class_s_p_h_1_1_particle_generator_network_html_a9ff936b6fe133c56416238ee4c131488"><div class="ttname"><a href="class_s_p_h_1_1_particle_generator_network.html#a9ff936b6fe133c56416238ee4c131488">SPH::ParticleGeneratorNetwork::fascicles_</a></div><div class="ttdeci">bool fascicles_</div><div class="ttdef"><b>Definition:</b> particle_generator_network.h:56</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
